#!/bin/bash
# Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
# HYPRE Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

#=============================================================================
# sstruct: Run all of the solvers
#=============================================================================

mpirun -np 2  ./sstruct -P 1 1 2 -solver 10 > solvers.out.0
mpirun -np 2  ./sstruct -P 1 1 2 -solver 11 > solvers.out.1
mpirun -np 2  ./sstruct -P 1 1 2 -solver 18 > solvers.out.2
mpirun -np 2  ./sstruct -P 1 1 2 -solver 19 > solvers.out.3
mpirun -np 2  ./sstruct -P 1 1 2 -solver 20 > solvers.out.4
#mpirun -np 2  ./sstruct -P 1 1 2 -solver 21 > solvers.out.5
#mpirun -np 2  ./sstruct -P 1 1 2 -solver 22 > solvers.out.6
mpirun -np 2  ./sstruct -P 1 1 2 -solver 30 > solvers.out.7
mpirun -np 2  ./sstruct -P 1 1 2 -solver 31 > solvers.out.8
mpirun -np 2  ./sstruct -P 1 1 2 -solver 38 > solvers.out.9
mpirun -np 2  ./sstruct -P 1 1 2 -solver 39 > solvers.out.10
mpirun -np 2  ./sstruct -P 1 1 2 -solver 40 > solvers.out.11
#mpirun -np 2  ./sstruct -P 1 1 2 -solver 41 > solvers.out.12
#mpirun -np 2  ./sstruct -P 1 1 2 -solver 42 > solvers.out.13
mpirun -np 2  ./sstruct -in sstruct.in.laps -P 2 1 1 -solver 3 > solvers.out.14
mpirun -np 1  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 20 > solvers.out.15
mpirun -np 2  ./sstruct -P 1 1 2 -solver 70 > solvers.out.16
mpirun -np 2  ./sstruct -P 1 1 2 -solver 71 > solvers.out.17
mpirun -np 2  ./sstruct -P 1 1 2 -solver 78 > solvers.out.18
mpirun -np 2  ./sstruct -P 1 1 2 -solver 80 > solvers.out.19
mpirun -np 2  ./sstruct -P 1 1 2 -solver 90 > solvers.out.20

# SSAMG
mpirun -np 1  ./sstruct -in sstruct.in.cube -P 1 1 1 -r 4 4 4 -solver 4 > solvers.out.21
mpirun -np 8  ./sstruct -in sstruct.in.cube -P 2 2 2 -r 2 2 2 -solver 4 > solvers.out.22
mpirun -np 8  ./sstruct -in sstruct.in.cube -P 2 2 2 -r 2 2 2 -solver 4 -skip 1 > solvers.out.23
mpirun -np 1  ./sstruct -in sstruct.in.cube21 -r 2 2 2 -solver 4 > solvers.out.24
mpirun -np 8  ./sstruct -in sstruct.in.cube21 -P 2 2 2 -r 1 1 1 -solver 4 > solvers.out.25
mpirun -np 8  ./sstruct -in sstruct.in.cube21 -P 2 2 2 -r 1 1 1 -solver 4 -skip 1 > solvers.out.26
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 4 -pooldist 1 > solvers.out.27
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 4 -pooldist 0 > solvers.out.28
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 4 -pooldist 0 -skip 1 > solvers.out.29
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 4 -pooldist 1 > solvers.out.30
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 4 -pooldist 0 > solvers.out.31
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 4 -pooldist 0 -skip 1 > solvers.out.32
mpirun -np 1  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 4 -pooldist 1 > solvers.out.33
mpirun -np 2  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 4 -pooldist 0 > solvers.out.34
mpirun -np 2  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 4 -pooldist 0 -skip 1 > solvers.out.35
mpirun -np 1  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 4 > solvers.out.36
mpirun -np 8  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 4 -pooldist 1 > solvers.out.37
mpirun -np 1  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 4 -pooldist 0 > solvers.out.38
mpirun -np 3  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 4 -pooldist 1 > solvers.out.39
mpirun -np 3  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 4 -pooldist 1 -skip 1 > solvers.out.40
mpirun -np 1  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 4 -pooldist 1 > solvers.out.41
mpirun -np 2  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 4 -pooldist 0 > solvers.out.42
mpirun -np 2  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 4 -pooldist 0 -skip 1 > solvers.out.43

# SSAMG with unstructured interpolation
mpirun -np 1  ./sstruct -in sstruct.in.cube -P 1 1 1 -r 4 4 4 -solver 4 -interp 0 > solvers.out.44
mpirun -np 8  ./sstruct -in sstruct.in.cube -P 2 2 2 -r 2 2 2 -solver 4 -interp 0 > solvers.out.45
mpirun -np 1  ./sstruct -in sstruct.in.cube21 -r 2 2 2 -solver 4 -interp 0 > solvers.out.46
mpirun -np 8  ./sstruct -in sstruct.in.cube21 -P 2 2 2 -r 1 1 1 -solver 4 -interp 0 > solvers.out.47
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 4 -pooldist 1 -interp 0 > solvers.out.48
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 4 -pooldist 0 -interp 0 > solvers.out.49
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 4 -pooldist 1 -interp 0 > solvers.out.50
#mpirun -np 4  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 4 -pooldist 0 -interp 0 > solvers.out.51
mpirun -np 1  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 4 -pooldist 1 -interp 0 > solvers.out.52
mpirun -np 2  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 4 -pooldist 0 -interp 0 > solvers.out.53
#mpirun -np 1  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 4 -interp 0 > solvers.out.54
#mpirun -np 8  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 4 -pooldist 1 -interp 0 > solvers.out.55
mpirun -np 1  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 4 -pooldist 0 -interp 0 > solvers.out.56
mpirun -np 3  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 4 -pooldist 1 -interp 0 > solvers.out.57
mpirun -np 1  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 4 -pooldist 1 -interp 0 > solvers.out.58
mpirun -np 2  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 4 -pooldist 0 -interp 0 > solvers.out.59

# SSAMG-PCG
mpirun -np 1  ./sstruct -in sstruct.in.cube -P 1 1 1 -r 4 4 4 -solver 14 > solvers.out.121
mpirun -np 8  ./sstruct -in sstruct.in.cube -P 2 2 2 -r 2 2 2 -solver 14 > solvers.out.122
mpirun -np 8  ./sstruct -in sstruct.in.cube -P 2 2 2 -r 2 2 2 -solver 14 -skip 1 > solvers.out.123
mpirun -np 1  ./sstruct -in sstruct.in.cube21 -r 2 2 2 -solver 14 > solvers.out.124
mpirun -np 8  ./sstruct -in sstruct.in.cube21 -P 2 2 2 -r 1 1 1 -solver 14 > solvers.out.125
mpirun -np 8  ./sstruct -in sstruct.in.cube21 -P 2 2 2 -r 1 1 1 -solver 14 -skip 1 > solvers.out.126
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 14 -pooldist 1 > solvers.out.127
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_7pt -r 2 2 2 -solver 14 -pooldist 0 > solvers.out.128
mpirun -np 1  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 14 -pooldist 1 > solvers.out.129
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 14 -pooldist 0 > solvers.out.130
mpirun -np 4  ./sstruct -in sstruct.in.cubes4_27pt -r 2 2 2 -solver 14 -pooldist 0 -skip 1 > solvers.out.131
mpirun -np 1  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 14 -pooldist 1 > solvers.out.132
mpirun -np 2  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 14 -pooldist 0 > solvers.out.133
mpirun -np 2  ./sstruct -in sstruct.in.cubes2_aniso -r 4 4 4 -solver 14 -pooldist 0 -skip 1 > solvers.out.134
mpirun -np 1  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 14 > solvers.out.135
mpirun -np 8  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 14 -pooldist 1 > solvers.out.136
mpirun -np 8  ./sstruct -in sstruct.in.marinak -P 1 1 1 -solver 14 -pooldist 1 -skip 1 > solvers.out.137
mpirun -np 1  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 14 -pooldist 0 > solvers.out.138
mpirun -np 3  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 14 -pooldist 1 > solvers.out.139
mpirun -np 3  ./sstruct -in sstruct.in.miller_3blk -r 4 4 1 -solver 14 -pooldist 1 -skip 1 > solvers.out.140
mpirun -np 1  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 14 -pooldist 1 > solvers.out.141
mpirun -np 2  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 14 -pooldist 0 > solvers.out.142
mpirun -np 2  ./sstruct -in sstruct.in.cubes2 -r 4 4 4 -solver 14 -pooldist 0 -skip 1 > solvers.out.143
